#ifndef SANGAME_HISTORY_HISTORY_GLOBAL_H_
#define SANGAME_HISTORY_HISTORY_GLOBAL_H_

#include "history/history_export.h"
#include "base/base.h"
#include "base/singleton.h"
#include "core/core_manager/i_core_manager.h"
#include "indicator/i_indicator_manage.h"
#include "ui/IResourceManager.h"

namespace sangame {
namespace history {

class HISTORY_EXPORT Global : public base::Singleton<Global> {
    typedef sangame::jjh::core::ICoreManager ICoreManager;
    typedef sangame::jjh::core::indicator::IIndicatorManager IIndicatorManager;
public:
	void SetCoreManager(ICoreManager* core_manager_ptr);
	void SetResourceManager(IResourceManager* resource_manager_ptr);
	void SetMainFrameHandle(Handle handle);
    ICoreManager* GetCoreManager();
    IResourceManager* GetResourceManager();
    Handle GetMainFrameHandle();

private:
    ICoreManager* core_manager_ptr_;
    IResourceManager* resource_manager_ptr_;
    Handle main_frame_handle_;

};

HISTORY_EXPORT Global* GetGlobal();

} // namespace history
} // namespace sangame

#endif // SANGAME_HISTORY_HISTORY_GLOBAL_H_